﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.SqlClient;
using Ucb.Workshop.Dal;
using Ucb.Workshop.Business;

using Ucb.Workshop.WinApp.View.GestionPedido;


namespace Ucb.Workshop.WinApp.View.GestionCompra
{
    public partial class CompraOpc : UserControl
    {
        ProviderManager proveedor;
        DBManager conexion;
        int cod_compra = 0;

        public ProviderManager Proveedor
        {
            get { return proveedor; }
            set { proveedor = value; }
        }

        public void actualizar()
        {
            txtProveedor.Text = this.Proveedor.Empresa;
        }

        public CompraOpc()
        {
            conexion = new DBManager();
            InitializeComponent();
            //string consulta = "SELECT cod_compra, fecha, nrofactura, total, deuda FROM compra";
            string consulta = "SELECT DISTINCT(cp.cod_compra), cp.fecha, cp.nrofactura, cp.total, deuda, prov.empresa FROM compra cp, detalle_compra dc, provee pv, proveedor prov WHERE cp.cod_compra = dc.cod_compra AND  dc.cod_provee = pv.cod_provee AND pv.cod_proveedor = prov.cod_proveedor AND prov.empresa LIKE '%" + textBox1.Text.Trim() + "%'";
            conexion.LlenarGrid(gridCompra, consulta);
            gridCompra.Columns[0].Visible = false;
            gridCompra.Columns[1].HeaderText = "Fecha";
            gridCompra.Columns[2].HeaderText = "Factura";
            gridCompra.Columns[3].HeaderText = "Total";
            gridCompra.Columns[4].HeaderText = "Deuda";
        }

        public string datoGrid(int fila, int columna)
        {
            return gridCompra.Rows[fila].Cells[columna].Value.ToString();
        }


        

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            SelectorProveedor sel = new SelectorProveedor(this);
            sel.ShowDialog();
        }

        private void gridCompra_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int fila = e.RowIndex;
            int columna = e.ColumnIndex;
            int numerofilas = gridCompra.Rows.Count;

            if (numerofilas > 0 && fila > -1)
            {
                // Capturamos los datos 
                cod_compra = int.Parse(datoGrid(fila,0));
                

            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string consulta = "SELECT DISTINCT(dc.cod_detalle_compra), prod.descripcion, m.nombre, prov.empresa, dc.cantidad  FROM detalle_compra dc, provee pv, proveedor prov, producto prod, marca m WHERE dc.cod_compra = " + cod_compra + " AND dc.cod_provee = pv.cod_provee AND pv.cod_marca = m.cod_marca AND pv.cod_producto = prod.cod_producto AND pv.cod_proveedor = prov.cod_proveedor";
            conexion.LlenarGrid(gridDetalle, consulta);

            gridDetalle.Columns[0].Visible = false;
            gridDetalle.Columns[1].HeaderText = "Producto";
            gridDetalle.Columns[2].HeaderText = "Marca";
            gridDetalle.Columns[3].HeaderText = "Proveedor";
            gridDetalle.Columns[4].HeaderText = "Cantidad";
        }

        private void button2_Click(object sender, EventArgs e)
        {
        //    string ini = dtIni.Text;
        //    string fin = dtFin.Text;
        //    string consulta;
        //    if(this.Proveedor != null)
        //        consulta = @"SELECT cp.fecha, m.nombre, prod.descripcion, dc.cantidad, pv.precio_compra, (dc.cantidad*pv.precio_compra) Expr1 "+
        //                        " FROM compra cp, detalle_compra dc, provee pv, producto prod, proveedor prov, marca m "+
        //                        " WHERE cp.cod_compra = dc.cod_compra AND dc.cod_provee = pv.cod_provee AND pv.cod_producto = prod.cod_producto AND pv.cod_marca = m.cod_marca AND pv.cod_proveedor = prov.cod_proveedor AND cp.fecha  between '" + ini + "' AND '" + fin + "' AND prov.cod_proveedor = "+this.Proveedor.Cod_proveedor;
        //    else
        //        consulta = @"SELECT cp.fecha, m.nombre, prod.descripcion, dc.cantidad, pv.precio_compra, (dc.cantidad*pv.precio_compra) Expr1 " +
        //                        " FROM compra cp, detalle_compra dc, provee pv, producto prod, proveedor prov, marca m " +
        //                        " WHERE cp.cod_compra = dc.cod_compra AND dc.cod_provee = pv.cod_provee AND pv.cod_producto = prod.cod_producto AND pv.cod_marca = m.cod_marca AND pv.cod_proveedor = prov.cod_proveedor AND cp.fecha  between '" + ini + "' AND '" + fin + "'"; 

            
        //    cr_compras rep = new cr_compras();
            
        //    SqlDataAdapter ad  = new SqlDataAdapter(consulta, DBManager.conexion());

        //    DataSet ds = new DataSet();
        //    ad.Fill(ds, "DataTable1");
        //    try
        //    {
        //        rep.SetDataSource(ds);
        //        crystalReportViewer1.ReportSource = rep;
        //        crystalReportViewer1.ShowExportButton = true;

        //    }
        //    catch
        //    { }

        //    ad.Dispose();            
        
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            
            //InitializeComponent();
            string consulta = "SELECT DISTINCT(cp.cod_compra), cp.fecha, cp.nrofactura, cp.total, deuda, prov.empresa FROM compra cp, detalle_compra dc, provee pv, proveedor prov WHERE cp.cod_compra = dc.cod_compra AND  dc.cod_provee = pv.cod_provee AND pv.cod_proveedor = prov.cod_proveedor AND prov.empresa LIKE '%" + textBox1.Text.Trim() + "%'";
            conexion.LlenarGrid(gridCompra, consulta);
            gridCompra.Columns[0].Visible = false;
            gridCompra.Columns[1].HeaderText = "Fecha";
            gridCompra.Columns[2].HeaderText = "Factura";
            gridCompra.Columns[3].HeaderText = "Total";
            gridCompra.Columns[4].HeaderText = "Deuda";
            gridCompra.Columns[5].HeaderText = "Proveedor";
        }

        private void controlCompra1_Load(object sender, EventArgs e)
        {

        }
    }
}
